package com.eastfair.venuebooking.vo;

import com.eastfair.annotation.annotation.vo.VoInfo;
import com.eastfair.common.vo.AttachmentFileVO;
import com.eastfair.annotation.model.BaseVoGroupClass;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 实体类
 * 材料申报~展会~上传记录关系表
 * </p>
 *
 * @author linan
 * @since 2022-06-08
 */
@Data
@ApiModel(value = "MaterialDeclarationVO", description = "材料申报~展会~上传记录关系表VO")
public class ExhibitionMaterialVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private Long id;
    /**
     * 材料申报id
     */
    @ApiModelProperty(value = "材料申报ID")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private Long materialId;

    /**
     * 展会id
     */
    @ApiModelProperty(value = "展会ID")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private Long exhibitionId;

    /**
     * 申报材料名称
     */
    @ApiModelProperty(value = "申报材料名称")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String materialName;

    /**
     * 材料编号
     */
    @ApiModelProperty(value = "材料编号")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String materialNo;

    /**
     * 附件名称
     */
    @ApiModelProperty(value = "附件名称")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String attachmentName;

    /**
     * 附件格式
     */
    @ApiModelProperty(value = "附件格式")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String attachmentSubfix;

    /**
     * 附件大小(单位kb)
     */
    @ApiModelProperty(value = "附件大小(单位kb)")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String attachmentSize;

    /**
     * 附件地址
     */
    @ApiModelProperty(value = "附件地址")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String attachmentUrl;

    /**
     * 上传时间
     */
    @ApiModelProperty(value = "上传时间")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private LocalDateTime createTime;

    /**
     * 上传人员
     */
    @ApiModelProperty(value = "上传人员ID")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private Long createBy;

    /**
     * 上传人员名称
     */
    @ApiModelProperty(value = "上传人员名称")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String createByName;

    /**
     * 模版下载地址
     */
    @ApiModelProperty(value = "模版下载地址")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private String templateAttachmentUrl;

    /**
     * 材料申报附件
     */
    @ApiModelProperty(value = "材料申报附件")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private AttachmentFileVO attachmentFileVO;

    /**
     * 申报材料
     */
    @ApiModelProperty(value = "申报材料")
    @VoInfo(groups = {BaseVoGroupClass.all.class})
    private MaterialDeclarationVO materialDeclarationVO;

}
